<html>
<head>
<link rel="stylesheet" href="../resource/combine/combine.css">
<script src="../resource/combine/combine.js"></script>
<!--
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="http://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1','packages':['controls', 'charteditor']}]}"></script>
<script src="http://jquery-csv.googlecode.com/git/src/jquery.csv.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
-->
<script>
$(function() {
  google.load("visualization", "1", {packages:["corechart"]});

  var csv = $('#textInput').val();
  var dt = google.visualization.arrayToDataTable($.csv.toArrays(csv, {onParseValue: $.csv.hooks.castToScalar}));

  function sortCaseInsensitive(dt, column) {
    for (var row = 0; row < dt.getNumberOfRows(); row++) {
      var s = dt.getValue(row, column);
      dt.setValue(row, column, s.toUpperCase());
      dt.setFormattedValue(row, column, s);
    }
    dt.sort(column);
  }

  function AddToOverall(dt) {
    if (overallDt == null) {
      overallDt = dt.clone();
    }
    else {
      var col1 = [];
      for (var i = 1; i < overallDt.getNumberOfColumns(); i++)
        col1.push(i);
      overallDt = google.visualization.data.join(overallDt, dt, 'full', [[0, 0]], col1, [1]);
    }

    var newCol = overallDt.getNumberOfColumns() - 1;
    overallDt.setColumnLabel(newCol, type + ' ' + overallDt.getColumnLabel(newCol))
    var formatter1 = new google.visualization.NumberFormat({ fractionDigits: 0 });
    formatter1.format(overallDt, newCol);

    for (var row = 0; row < overallDt.getNumberOfRows(); row++) {
      if (overallDt.getValue(row, newCol) == null) {
        overallDt.setValue(row, newCol, Number.POSITIVE_INFINITY);
        overallDt.setFormattedValue(row, newCol, "");
      }
    }
  }

  function createSortEvent(type, dt, chart) {
    return function(e) {
      if (e.column == 0 || e.column == 1) {
        var t = dt.clone();
        drawBarChart(type, t, chart, [{column: e.column, desc: !e.ascending }]);
      }
    }
  }

  addSection("0. Overall");

  var overallDiv = document.createElement("div");
  overallDiv.className = "tablechart";
  $("#main").append(overallDiv);

  // Per type sections
  var types = dt.getDistinctValues(0);
  var overallDt;
  for (var i in types) {
    var type = types[i];
    addSection(type);

    var view = new google.visualization.DataView(dt);
    view.setRows(view.getFilteredRows([{column: 0, value: type}]));

    if (type.search("Code size") != -1) {
      var sizedt = google.visualization.data.group(
        view,
        [1], 
        [{"column": 7, "aggregation": google.visualization.data.sum, 'type': 'number' }]
      );
      AddToOverall(sizedt);
      sortCaseInsensitive(sizedt, 0);
      addSubsection(sizedt.getColumnLabel(1));
      var sizeTable = drawTable(type, sizedt.clone(), false);
      var sizeChart = drawBarChart(type, sizedt.clone());
      google.visualization.events.addListener(sizeTable, 'sort', createSortEvent(type, sizedt, sizeChart));
    }
    else {
      addSubsection("Time");

      var timedt = google.visualization.data.group(
        view,
        [1], 
        [{"column": 3, "aggregation": google.visualization.data.sum, 'type': 'number' }]
      );

      AddToOverall(timedt);
      sortCaseInsensitive(timedt, 0);
      var timeTable = drawTable(type, timedt.clone(), true);
      var timeChart = drawBarChart(type, timedt.clone());
      google.visualization.events.addListener(timeTable, 'sort', createSortEvent(type, timedt, timeChart));

      // Per JSON
      drawPivotBarChart(
        type + " per JSON",
        pivotTable(google.visualization.data.group(
          view,
          [2, 1],
          [{"column": 3, "aggregation": google.visualization.data.sum, 'type': 'number' }]
        )),
        dt.getColumnLabel(3)
      );

      // Only show memory of Parse
      if (type.search("Parse") != -1) {
        for (var column = 4; column <= 6; column++) {
          var memorydt = google.visualization.data.group(
            view,
            [1], 
            [{"column": column, "aggregation": google.visualization.data.sum, 'type': 'number' }]
          );
          AddToOverall(memorydt);
          sortCaseInsensitive(memorydt, 0);
          addSubsection(memorydt.getColumnLabel(1));
          var memoryTable = drawTable(type, memorydt.clone(), false);
          var memoryChart = drawBarChart(type, memorydt.clone());

          google.visualization.events.addListener(memoryTable, 'sort', createSortEvent(type, memorydt, memoryChart));
        }
      }
    }
  }

  var overallTable = new google.visualization.Table(overallDiv);
  sortCaseInsensitive(overallDt, 0);
  overallTable.draw(overallDt);

  $(".chart").each(function() {
    var chart = $(this);
    var d = $("#downloadDD").clone().css("display", "");
    $('li a', d).each(function() {
          $(this).click(function() {
              var svg = chart[0].getElementsByTagName('svg')[0].parentNode.innerHTML;
              svg=sanitize(svg);
              $('#imageFilename').val($("#title").html() + "_" + chart.data("filename"));
              $('#imageGetFormTYPE').val($(this).attr('dltype'));
              $('#imageGetFormSVG').val(svg);
              $('#imageGetForm').submit();
          });
      });   
    $(this).after(d);
  });

  // Add configurations
  var thisConfig = "performance_Corei7-4980HQ@2.80GHz_mac64_clang7.0";
  var configurations = ["conformance","performance_Corei7-4980HQ@2.80GHz_mac32_clang7.0","performance_Corei7-4980HQ@2.80GHz_mac64_clang7.0"];

  for (var i in configurations) {
    var c = configurations[i];
    $("#benchmark").append($("<li>", {class : (c == thisConfig ? "active" : "")}).append($("<a>", {href: c + ".html"}).append(c)));
  }
});

function pivotTable(src) {
  var dst = new google.visualization.DataTable();
  
  // Add columns
  var key = src.getDistinctValues(1);
  var keyColumnMap = {};
  dst.addColumn(src.getColumnType(0), src.getColumnLabel(0));  
  for (var k in key)
    keyColumnMap[key[k]] = dst.addColumn(src.getColumnType(2), key[k]);

  // Add rows
  var pivot = src.getDistinctValues(0);
  var pivotRowMap = {};  
  for (var p in pivot)
    dst.setValue(pivotRowMap[[pivot[p]]] = dst.addRow(), 0, pivot[p]);

  // Fill cells
  for (var row = 0; row < src.getNumberOfRows(); row++)
    dst.setValue(
      pivotRowMap[src.getValue(row, 0)],
      keyColumnMap[src.getValue(row, 1)],
      src.getValue(row, 2));

  return dst;
}

function addSection(name) {
  $("#main").append(
    $("<a>", {"name": name}),
    $("<h2>", {style: "padding-top: 70px; margin-top: -70px;"}).append(name)
  );
  $("#section").append($("<li>").append($("<a>", {href: "#" + name}).append(name)));
}

function addSubsection(name) {
  $("#main").append(
    $("<h3>", {style: "padding-top: 70px; margin-top: -70px;"}).append(name)
  );
}

function drawTable(type, data, isSpeedup) {
  if (isSpeedup)
    data.addColumn('number', 'Speedup');
  else
    data.addColumn('number', 'Ratio');
  //data.sort([{ column: 1, desc: true }]);
  var formatter1 = new google.visualization.NumberFormat({ fractionDigits: 0 });
  formatter1.format(data, 1);

  var div = document.createElement("div");
  div.className = "tablechart";
  $("#main").append(div);
    var table = new google.visualization.Table(div);
    redrawTable(0);
    table.setSelection([{ row: 0, column: null}]);

  function redrawTable(selectedRow) {
      var s = table.getSortInfo();
      // Compute relative time using the first row as basis
      var basis = data.getValue(selectedRow, 1);
      for (var rowIndex = 0; rowIndex < data.getNumberOfRows(); rowIndex++)
        data.setValue(rowIndex, 2, isSpeedup ? basis / data.getValue(rowIndex, 1) : data.getValue(rowIndex, 1) / basis);

      var formatter = new google.visualization.NumberFormat({suffix: 'x'});
      formatter.format(data, 2); // Apply formatter to second column

      table.draw(data, s != null ? {sortColumn: s.column, sortAscending: s.ascending} : null);
  }

  google.visualization.events.addListener(table, 'select',
  function() {
      var selection = table.getSelection();
      if (selection.length > 0) {
          var item = selection[0];
          if (item.row != null)
              redrawTable(item.row);
      }
  });

  return table;
}

function drawBarChart(type, data, chart, sortOptions) {
  // Using same colors as in series
  var colors = ["#3366cc","#dc3912","#ff9900","#109618","#990099","#0099c6","#dd4477","#66aa00","#b82e2e","#316395","#994499","#22aa99","#aaaa11","#6633cc","#e67300","#8b0707","#651067","#329262","#5574a6","#3b3eac","#b77322","#16d620","#b91383","#f4359e","#9c5935","#a9c413","#2a778d","#668d1c","#bea413","#0c5922","#743411","#3366cc","#dc3912","#ff9900","#109618","#990099","#0099c6","#dd4477","#66aa00","#b82e2e","#316395","#994499","#22aa99","#aaaa11","#6633cc","#e67300","#8b0707","#651067","#329262","#5574a6","#3b3eac","#b77322","#16d620","#b91383","#f4359e","#9c5935","#a9c413","#2a778d","#668d1c","#bea413","#0c5922","#743411"];
  var h = data.getNumberOfRows() * 12;
  var options = { 
    title: type,
    chartArea: {left: '20%', width: '70%', height: h },
    width: 800,
    height: h + 100,
    fontSize: 10,
    bar: {groupWidth: "80%"},
    hAxis: { title: data.getColumnLabel(1) },
    legend: { position: "none" },
  };

  data.addColumn({ type: "string", role: "style" });
  data.addColumn({ type: "number", role: "annotation" });
  for (var rowIndex = 0; rowIndex < data.getNumberOfRows(); rowIndex++) {
    data.setValue(rowIndex, 2, colors[rowIndex]);
    data.setValue(rowIndex, 3, data.getValue(rowIndex, 1));
  }

  if (sortOptions != null)
    data.sort(sortOptions); // sort after assigning colors

  var formatter1 = new google.visualization.NumberFormat({ fractionDigits: 0 });
  formatter1.format(data, 3);

  if (chart == null) {
    var div = document.createElement("div");
    div.className = "chart";
    $(div).data("filename", type + "_" + data.getColumnLabel(1));
    $("#main").append(div);
    chart = new google.visualization.BarChart(div);
  }

  chart.draw(data, options);
  return chart;
}


function drawPivotBarChart(type, data, title) {
  var h = (data.getNumberOfColumns() + 1) * data.getNumberOfRows() * 5;
  var options = { 
    title: type,
    chartArea: {left: '10%', width: '70%', 'height': h},
    width: 800,
    height: h + 100,
    fontSize: 10,
    hAxis: { "title": title },
    legend: { textStyle: {fontSize: 8}},
    bar : { groupWidth: "95%" }
  };
  var div = document.createElement("div");
  div.className = "chart";
  $(div).data("filename", type + "_" + title);
  $("#main").append(div);
  var chart = new google.visualization.BarChart(div);

  chart.draw(data, options);
}

// http://jsfiddle.net/P6XXM/
function sanitize(svg) {
    svg = svg
        .replace(/\<svg/,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1"')
        .replace(/zIndex="[^"]+"/g, '')
        .replace(/isShadow="[^"]+"/g, '')
        .replace(/symbolName="[^"]+"/g, '')
        .replace(/jQuery[0-9]+="[^"]+"/g, '')
        .replace(/isTracker="[^"]+"/g, '')
        .replace(/url\([^#]+#/g, 'url(#')
        .replace('<svg xmlns:xlink="http://www.w3.org/1999/xlink" ', '<svg ')
        .replace(/ href=/g, ' xlink:href=')
    /*.replace(/preserveAspectRatio="none">/g, 'preserveAspectRatio="none"/>')*/
    /* This fails in IE < 8
    .replace(/([0-9]+)\.([0-9]+)/g, function(s1, s2, s3) { // round off to save weight
    return s2 +'.'+ s3[0];
    })*/

    // IE specific
        .replace(/id=([^" >]+)/g, 'id="$1"')
        .replace(/class=([^" ]+)/g, 'class="$1"')
        .replace(/ transform /g, ' ')
        .replace(/:(path|rect)/g, '$1')
        .replace(/<img ([^>]*)>/gi, '<image $1 />')
        .replace(/<\/image>/g, '') // remove closing tags for images as they'll never have any content
        .replace(/<image ([^>]*)([^\/])>/gi, '<image $1$2 />') // closes image tags for firefox
        .replace(/width=(\d+)/g, 'width="$1"')
        .replace(/height=(\d+)/g, 'height="$1"')
        .replace(/hc-svg-href="/g, 'xlink:href="')
        .replace(/style="([^"]+)"/g, function (s) {
            return s.toLowerCase();
        });

    // IE9 beta bugs with innerHTML. Test again with final IE9.
    svg = svg.replace(/(url\(#highcharts-[0-9]+)&quot;/g, '$1')
        .replace(/&quot;/g, "'");
    if (svg.match(/ xmlns="/g).length == 2) {
        svg = svg.replace(/xmlns="[^"]+"/, '');
    }

    return svg;
}
</script>
<style type="text/css">
@media (min-width: 800px) {
/*  .container {
    max-width: 800px;
  }*/
}
textarea {
  font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
.tablechart {
/*  width: 500px;
*/  margin: auto;
  padding-top: 20px;
  padding-bottom: 20px;
}
.chart {
  padding-top: 20px;
  padding-bottom: 20px;
}
body { padding-top: 70px; }
</style>
</head>
<body>
<div class="container">
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="https://github.com/miloyip/nativejson-benchmark"><span class="glyphicon glyphicon-home"></span> nativejson-benchmark</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Benchmark <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu" id="benchmark">
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Section <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu" id="section">
          </ul>
        </li>
      </ul>
      <p class="navbar-text navbar-right">Developed by <a href="https://github.com/miloyip" class="navbar-link">Milo Yip</a></p>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>
<div class="page-header">
<h1 id="title">performance_Corei7-4980HQ@2.80GHz_mac64_clang7.0</h1>
</div>
<div id="main"></div>
<h2>Source CSV</h2>
<textarea id="textInput" class="form-control" rows="5" readonly>
Type,Library,Filename,Time (ms),Memory (byte),MemoryPeak (byte),AllocCount,FileSize (byte)
1. Parse,ArduinoJson (C++),canada.json,563.430000,11349376,11349376,17,0
1. Parse,ArduinoJson (C++),citm_catalog.json,2.577000,4898176,4898176,15,0
1. Parse,ArduinoJson (C++),twitter.json,1.869000,1744256,1744256,13,0
2. Stringify,ArduinoJson (C++),canada.json,39.622000,2252832,5398560,19,0
2. Stringify,ArduinoJson (C++),citm_catalog.json,9.571000,524320,1568800,17,0
2. Stringify,ArduinoJson (C++),twitter.json,8.669000,524320,1568800,17,0
3. Prettify,ArduinoJson (C++),canada.json,119.130000,5599264,14606368,20,0
3. Prettify,ArduinoJson (C++),citm_catalog.json,25.427000,2252832,3825696,18,0
3. Prettify,ArduinoJson (C++),twitter.json,14.327000,1052704,2097184,17,0
4. Statistics,ArduinoJson (C++),canada.json,41.775000,0,0,0,0
4. Statistics,ArduinoJson (C++),citm_catalog.json,0.830000,0,0,0,0
4. Statistics,ArduinoJson (C++),twitter.json,0.473000,0,0,0,0
7. Code size,ArduinoJson (C++),jsonstat,0,0,0,0,26636
1. Parse,CAJUN (C++),canada.json,941.969000,236113920,503840592,3396966,0
1. Parse,CAJUN (C++),citm_catalog.json,145.532000,9770176,34805584,612137,0
1. Parse,CAJUN (C++),twitter.json,45.904000,2515152,10526544,204803,0
2. Stringify,CAJUN (C++),canada.json,109.479000,5599264,14606368,20,0
2. Stringify,CAJUN (C++),citm_catalog.json,14.682000,921632,2494496,19,0
2. Stringify,CAJUN (C++),twitter.json,13.385000,1044512,1966112,1920,0
4. Statistics,CAJUN (C++),canada.json,2.949000,0,0,0,0
4. Statistics,CAJUN (C++),citm_catalog.json,0.273000,0,0,0,0
4. Statistics,CAJUN (C++),twitter.json,0.067000,0,0,0,0
7. Code size,CAJUN (C++),jsonstat,0,0,0,0,86148
1. Parse,ccan/json (C),canada.json,48.533000,10699872,10699872,167193,0
1. Parse,ccan/json (C),citm_catalog.json,6.789000,3337056,3337056,68345,0
1. Parse,ccan/json (C),twitter.json,4.527000,1800400,1800400,43523,0
2. Stringify,ccan/json (C),canada.json,60.136000,2101264,2101264,19,0
2. Stringify,ccan/json (C),citm_catalog.json,4.568000,1044496,1044496,17,0
2. Stringify,ccan/json (C),twitter.json,1.793000,528400,528400,17,0
3. Prettify,ccan/json (C),canada.json,77.032000,9007120,9007120,21,0
3. Prettify,ccan/json (C),citm_catalog.json,7.865000,2101264,2101264,19,0
3. Prettify,ccan/json (C),twitter.json,2.630000,1052688,1052688,18,0
4. Statistics,ccan/json (C),canada.json,0.533000,0,0,0,0
4. Statistics,ccan/json (C),citm_catalog.json,0.202000,0,0,0,0
4. Statistics,ccan/json (C),twitter.json,0.111000,0,0,0,0
7. Code size,ccan/json (C),jsonstat,0,0,0,0,30400
1. Parse,cJSON (C),canada.json,15.574000,10699680,10699680,167192,0
1. Parse,cJSON (C),citm_catalog.json,5.580000,2869760,2869760,64383,0
1. Parse,cJSON (C),twitter.json,3.517000,1416064,1416064,32014,0
2. Stringify,cJSON (C),canada.json,49.510000,2101264,4202864,223241,0
2. Stringify,cJSON (C),citm_catalog.json,15.016000,503824,1080880,87274,0
2. Stringify,cJSON (C),twitter.json,6.757000,528400,1032608,30092,0
3. Prettify,cJSON (C),canada.json,49.254000,2101264,4202880,223241,0
3. Prettify,cJSON (C),citm_catalog.json,15.105000,1052688,2163968,87274,0
3. Prettify,cJSON (C),twitter.json,7.059000,1052688,2105808,30092,0
4. Statistics,cJSON (C),canada.json,0.488000,0,0,0,0
4. Statistics,cJSON (C),citm_catalog.json,0.162000,0,0,0,0
4. Statistics,cJSON (C),twitter.json,0.106000,0,0,0,0
7. Code size,cJSON (C),jsonstat,0,0,0,0,27040
1. Parse,Configuru (C++11),canada.json,57.733000,13022272,13081456,170253,0
1. Parse,Configuru (C++11),citm_catalog.json,16.881000,4899360,4899456,54236,0
1. Parse,Configuru (C++11),twitter.json,5.993000,2119216,2119312,20388,0
2. Stringify,Configuru (C++11),canada.json,148.446000,3145760,5247072,22,0
2. Stringify,Configuru (C++11),citm_catalog.json,4.734000,1052704,1556720,10951,0
2. Stringify,Configuru (C++11),twitter.json,1.686000,1052704,1557232,1280,0
3. Prettify,Configuru (C++11),canada.json,161.278000,3145760,5247072,22,0
3. Prettify,Configuru (C++11),citm_catalog.json,8.553000,2101280,3154160,10952,0
3. Prettify,Configuru (C++11),twitter.json,3.222000,1052704,1557232,1280,0
4. Statistics,Configuru (C++11),canada.json,0.698000,0,0,0,0
4. Statistics,Configuru (C++11),citm_catalog.json,0.548000,0,0,0,0
4. Statistics,Configuru (C++11),twitter.json,0.155000,0,0,0,0
7. Code size,Configuru (C++11),jsonstat,0,0,0,0,131668
1. Parse,C++ REST SDK (C++11),canada.json,113.358000,7054688,7054736,392462,0
1. Parse,C++ REST SDK (C++11),citm_catalog.json,14.310000,2433664,2433680,68658,0
1. Parse,C++ REST SDK (C++11),twitter.json,6.434000,1448256,1448496,24481,0
2. Stringify,C++ REST SDK (C++11),canada.json,70.617000,4194336,9441312,36,0
2. Stringify,C++ REST SDK (C++11),citm_catalog.json,4.310000,503840,2609184,348,0
2. Stringify,C++ REST SDK (C++11),twitter.json,3.129000,503840,2609184,1927,0
4. Statistics,C++ REST SDK (C++11),canada.json,0.912000,0,0,0,0
4. Statistics,C++ REST SDK (C++11),citm_catalog.json,0.453000,0,0,0,0
4. Statistics,C++ REST SDK (C++11),twitter.json,0.136000,0,0,0,0
7. Code size,C++ REST SDK (C++11),jsonstat,0,0,0,0,18300
1. Parse,dropbox/json11 (C++11),canada.json,69.836000,11680208,15043200,337434,0
1. Parse,dropbox/json11 (C++11),citm_catalog.json,14.516000,4382848,6485024,96993,0
1. Parse,dropbox/json11 (C++11),twitter.json,9.172000,1959712,3013040,44408,0
2. Stringify,dropbox/json11 (C++11),canada.json,65.608000,3145760,5247008,18,0
2. Stringify,dropbox/json11 (C++11),citm_catalog.json,4.310000,1052704,1556512,16,0
2. Stringify,dropbox/json11 (C++11),twitter.json,3.140000,1052704,1556512,16,0
4. Statistics,dropbox/json11 (C++11),canada.json,0.933000,0,0,0,0
4. Statistics,dropbox/json11 (C++11),citm_catalog.json,0.373000,0,0,0,0
4. Statistics,dropbox/json11 (C++11),twitter.json,0.130000,0,0,0,0
7. Code size,dropbox/json11 (C++11),jsonstat,0,0,0,0,80136
1. Parse,mikeando/FastJson (C++),canada.json,11.927000,8790784,11937056,22,0
1. Parse,mikeando/FastJson (C++),citm_catalog.json,4.589000,3133632,5235424,22,0
1. Parse,mikeando/FastJson (C++),twitter.json,2.468000,1579712,2633504,24,0
2. Stringify,mikeando/FastJson (C++),canada.json,60.182000,3145760,3145760,2,0
2. Stringify,mikeando/FastJson (C++),citm_catalog.json,4.827000,503840,503840,2,0
2. Stringify,mikeando/FastJson (C++),twitter.json,1.725000,1052704,1052704,2,0
4. Statistics,mikeando/FastJson (C++),canada.json,0.667000,0,0,0,0
4. Statistics,mikeando/FastJson (C++),citm_catalog.json,0.136000,0,0,0,0
4. Statistics,mikeando/FastJson (C++),twitter.json,0.068000,0,0,0,0
7. Code size,mikeando/FastJson (C++),jsonstat,0,0,0,0,62768
1. Parse,gason (C++11),canada.json,5.297000,5832736,5832736,658,0
1. Parse,gason (C++11),citm_catalog.json,2.105000,2920480,2920480,202,0
1. Parse,gason (C++11),twitter.json,1.013000,1384480,1384480,83,0
2. Stringify,gason (C++11),canada.json,30.812000,2101280,4202528,18,0
2. Stringify,gason (C++11),citm_catalog.json,9.235000,1052704,2105376,17,0
2. Stringify,gason (C++11),twitter.json,5.244000,503840,1556512,17,0
3. Prettify,gason (C++11),canada.json,70.420000,7319584,19902496,222273,0
3. Prettify,gason (C++11),citm_catalog.json,15.125000,2101280,5247008,34759,0
3. Prettify,gason (C++11),twitter.json,6.351000,770080,1822752,1920,0
4. Statistics,gason (C++11),canada.json,0.405000,0,0,0,0
4. Statistics,gason (C++11),citm_catalog.json,0.217000,0,0,0,0
4. Statistics,gason (C++11),twitter.json,0.144000,0,0,0,0
7. Code size,gason (C++11),jsonstat,0,0,0,0,20412
1. Parse,Jansson (C),canada.json,78.465000,10619344,10619392,224392,0
1. Parse,Jansson (C),citm_catalog.json,22.656000,5699968,5700048,111230,0
1. Parse,Jansson (C),twitter.json,10.935000,2000288,2000848,43822,0
2. Stringify,Jansson (C),canada.json,64.221000,3145744,7340048,21,0
2. Stringify,Jansson (C),citm_catalog.json,3.764000,770064,1822736,19,0
2. Stringify,Jansson (C),twitter.json,1.925000,503824,1032208,18,0
3. Prettify,Jansson (C),canada.json,73.837000,8273936,20856848,22,0
3. Prettify,Jansson (C),citm_catalog.json,4.373000,2101264,4202512,20,0
3. Prettify,Jansson (C),twitter.json,2.170000,770064,1822736,19,0
4. Statistics,Jansson (C),canada.json,0.811000,0,0,0,0
4. Statistics,Jansson (C),citm_catalog.json,0.594000,0,0,0,0
4. Statistics,Jansson (C),twitter.json,0.212000,0,0,0,0
7. Code size,Jansson (C),jsonstat,0,0,0,0,69076
1. Parse,jsmn (C),canada.json,377.652000,7340064,7340064,3,0
1. Parse,jsmn (C),citm_catalog.json,13.409000,3153952,3153952,3,0
1. Parse,jsmn (C),twitter.json,3.579000,1273888,1273888,3,0
4. Statistics,jsmn (C),canada.json,0.352000,0,0,0,0
4. Statistics,jsmn (C),citm_catalog.json,0.111000,0,0,0,0
4. Statistics,jsmn (C),twitter.json,0.058000,0,0,0,0
7. Code size,jsmn (C),jsonstat,0,0,0,0,15872
1. Parse,JsonBox (C++),canada.json,251.414000,6913584,14599088,754123,0
1. Parse,JsonBox (C++),citm_catalog.json,62.591000,3232384,7434880,242074,0
1. Parse,JsonBox (C++),twitter.json,26.559000,1636960,3969328,75748,0
2. Stringify,JsonBox (C++),canada.json,161.897000,4194336,7340064,19,0
2. Stringify,JsonBox (C++),citm_catalog.json,31.513000,503840,1556512,673,0
2. Stringify,JsonBox (C++),twitter.json,21.323000,503840,1556512,9688,0
3. Prettify,JsonBox (C++),canada.json,146.194000,4194336,10883104,20,0
3. Prettify,JsonBox (C++),citm_catalog.json,28.525000,1052704,3153952,674,0
3. Prettify,JsonBox (C++),twitter.json,19.737000,770080,1822752,9688,0
4. Statistics,JsonBox (C++),canada.json,0.515000,0,0,0,0
4. Statistics,JsonBox (C++),citm_catalog.json,0.204000,0,0,0,0
4. Statistics,JsonBox (C++),twitter.json,0.090000,0,0,0,0
7. Code size,JsonBox (C++),jsonstat,0,0,0,0,112552
1. Parse,jsoncons (C++),canada.json,77.291000,4552080,8469168,230921,0
1. Parse,jsoncons (C++),citm_catalog.json,8.173000,1959424,4102480,34809,0
1. Parse,jsoncons (C++),twitter.json,3.467000,1053312,1865888,8741,0
2. Stringify,jsoncons (C++),canada.json,80.353000,4194336,7340064,25,0
2. Stringify,jsoncons (C++),citm_catalog.json,2.996000,528416,1581088,23,0
2. Stringify,jsoncons (C++),twitter.json,2.645000,503840,1573664,24,0
3. Prettify,jsoncons (C++),canada.json,80.573000,4194336,7340064,25,0
3. Prettify,jsoncons (C++),citm_catalog.json,2.879000,528416,1581088,23,0
3. Prettify,jsoncons (C++),twitter.json,2.596000,503840,1573664,24,0
4. Statistics,jsoncons (C++),canada.json,1.974000,0,0,0,0
4. Statistics,jsoncons (C++),citm_catalog.json,0.751000,0,64,324,0
4. Statistics,jsoncons (C++),twitter.json,0.524000,0,464,1901,0
7. Code size,jsoncons (C++),jsonstat,0,0,0,0,107592
1. Parse,JsonCpp (C++),canada.json,142.458000,17842912,25187056,223252,0
1. Parse,JsonCpp (C++),citm_catalog.json,14.587000,4767504,8974112,111968,0
1. Parse,JsonCpp (C++),twitter.json,8.477000,1949984,3776816,50961,0
2. Stringify,JsonCpp (C++),canada.json,84.443000,4194336,7340064,23,0
2. Stringify,JsonCpp (C++),citm_catalog.json,5.679000,503840,1557136,12197,0
2. Stringify,JsonCpp (C++),twitter.json,4.139000,503840,1558528,7727,0
4. Statistics,JsonCpp (C++),canada.json,1.744000,0,0,0,0
4. Statistics,JsonCpp (C++),citm_catalog.json,0.451000,0,64,324,0
4. Statistics,JsonCpp (C++),twitter.json,0.423000,0,464,1901,0
7. Code size,JsonCpp (C++),jsonstat,0,0,0,0,243476
1. Parse,json-c (C),canada.json,105.784000,33742544,33743696,390651,0
1. Parse,json-c (C),citm_catalog.json,21.122000,13055024,13056208,131793,0
1. Parse,json-c (C),twitter.json,7.645000,3088720,3090352,49446,0
2. Stringify,json-c (C),canada.json,16.260000,7340064,7340064,21,0
2. Stringify,json-c (C),citm_catalog.json,9.990000,1273888,1273888,18,0
2. Stringify,json-c (C),twitter.json,4.554000,1028128,1028128,18,0
3. Prettify,json-c (C),canada.json,29.737000,19271712,19271712,22,0
3. Prettify,json-c (C),citm_catalog.json,14.057000,3354656,3354656,20,0
3. Prettify,json-c (C),twitter.json,5.462000,2027552,2027552,19,0
4. Statistics,json-c (C),canada.json,2.093000,0,0,0,0
4. Statistics,json-c (C),citm_catalog.json,0.713000,0,0,0,0
4. Statistics,json-c (C),twitter.json,0.182000,0,0,0,0
7. Code size,json-c (C),jsonstat,0,0,0,0,56908
1. Parse,hjiang/JSON++ (C++),canada.json,169.539000,8778896,16118928,337434,0
1. Parse,hjiang/JSON++ (C++),citm_catalog.json,40.240000,3891024,9133904,92754,0
1. Parse,hjiang/JSON++ (C++),twitter.json,14.529000,1880592,3908112,42564,0
2. Stringify,hjiang/JSON++ (C++),canada.json,264.974000,3981344,14864416,499228,0
2. Stringify,hjiang/JSON++ (C++),citm_catalog.json,48.292000,1024032,4423712,102930,0
2. Stringify,hjiang/JSON++ (C++),twitter.json,22.440000,589856,2384288,42914,0
4. Statistics,hjiang/JSON++ (C++),canada.json,0.701000,0,0,0,0
4. Statistics,hjiang/JSON++ (C++),citm_catalog.json,0.238000,0,0,0,0
4. Statistics,hjiang/JSON++ (C++),twitter.json,0.114000,0,0,0,0
7. Code size,hjiang/JSON++ (C++),jsonstat,0,0,0,0,93520
1. Parse,JVar (C++),canada.json,71.592000,4484288,4484288,56050,0
1. Parse,JVar (C++),citm_catalog.json,15.756000,2600944,2600944,22037,0
1. Parse,JVar (C++),twitter.json,6.515000,477840,477904,6117,0
2. Stringify,JVar (C++),canada.json,40.936000,1044512,1044512,2,0
2. Stringify,JVar (C++),citm_catalog.json,6.402000,524320,524320,2,0
2. Stringify,JVar (C++),twitter.json,2.221000,466976,466976,2,0
4. Statistics,JVar (C++),canada.json,0.815000,0,0,0,0
4. Statistics,JVar (C++),citm_catalog.json,0.401000,0,0,0,0
4. Statistics,JVar (C++),twitter.json,0.140000,0,0,0,0
7. Code size,JVar (C++),jsonstat,0,0,0,0,85940
1. Parse,Jzon (C++),canada.json,97.568000,17910992,24392000,282601,0
1. Parse,Jzon (C++),citm_catalog.json,35.149000,3855088,7865168,69806,0
1. Parse,Jzon (C++),twitter.json,16.008000,1858544,3749648,35993,0
2. Stringify,Jzon (C++),canada.json,16.810000,2252832,6447136,19,0
2. Stringify,Jzon (C++),citm_catalog.json,6.351000,933920,1867808,665,0
2. Stringify,Jzon (C++),twitter.json,5.053000,933920,1867808,4466,0
3. Prettify,Jzon (C++),canada.json,51.588000,8273952,20856864,222273,0
3. Prettify,Jzon (C++),citm_catalog.json,12.987000,2252832,6447136,44092,0
3. Prettify,Jzon (C++),twitter.json,6.018000,933920,2662432,6536,0
4. Statistics,Jzon (C++),canada.json,0.984000,0,0,0,0
4. Statistics,Jzon (C++),citm_catalog.json,0.277000,0,64,324,0
4. Statistics,Jzon (C++),twitter.json,0.383000,0,464,1901,0
7. Code size,Jzon (C++),jsonstat,0,0,0,0,109224
1. Parse,nbsdx_SimpleJSON (C++11),canada.json,424.984000,233775952,469804480,673245,0
1. Parse,nbsdx_SimpleJSON (C++11),citm_catalog.json,39.231000,10180304,20384768,226971,0
1. Parse,nbsdx_SimpleJSON (C++11),twitter.json,21.404000,2815872,6563248,118203,0
2. Stringify,nbsdx_SimpleJSON (C++11),canada.json,56.220000,4194336,7331872,58168,0
2. Stringify,nbsdx_SimpleJSON (C++11),citm_catalog.json,15.924000,2252832,4194336,55708,0
2. Stringify,nbsdx_SimpleJSON (C++11),twitter.json,6.917000,1409056,2863552,23541,0
3. Prettify,nbsdx_SimpleJSON (C++11),canada.json,72.002000,4194336,7331872,225340,0
3. Prettify,nbsdx_SimpleJSON (C++11),citm_catalog.json,22.864000,4194336,5677088,117443,0
3. Prettify,nbsdx_SimpleJSON (C++11),twitter.json,8.738000,933920,3277280,34326,0
4. Statistics,nbsdx_SimpleJSON (C++11),canada.json,3.549000,0,0,0,0
4. Statistics,nbsdx_SimpleJSON (C++11),citm_catalog.json,0.422000,0,144,330,0
4. Statistics,nbsdx_SimpleJSON (C++11),twitter.json,1.616000,0,1152,3964,0
7. Code size,nbsdx_SimpleJSON (C++11),jsonstat,0,0,0,0,45164
1. Parse,Nlohmann (C++11),canada.json,55.591000,5293488,5293488,170254,0
1. Parse,Nlohmann (C++11),citm_catalog.json,9.875000,3045808,3045808,55293,0
1. Parse,Nlohmann (C++11),twitter.json,7.010000,1558576,1558576,28498,0
2. Stringify,Nlohmann (C++11),canada.json,76.315000,1728544,5922848,19,0
2. Stringify,Nlohmann (C++11),citm_catalog.json,7.178000,933920,1867808,342,0
2. Stringify,Nlohmann (C++11),twitter.json,4.239000,466976,1400864,3821,0
3. Prettify,Nlohmann (C++11),canada.json,112.750000,8273952,20856896,222273,0
3. Prettify,Nlohmann (C++11),citm_catalog.json,12.720000,1728544,5922880,35084,0
3. Prettify,Nlohmann (C++11),twitter.json,5.090000,933920,1867808,5724,0
4. Statistics,Nlohmann (C++11),canada.json,0.990000,0,0,0,0
4. Statistics,Nlohmann (C++11),citm_catalog.json,0.517000,0,64,325,0
4. Statistics,Nlohmann (C++11),twitter.json,0.664000,0,464,3804,0
7. Code size,Nlohmann (C++11),jsonstat,0,0,0,0,42132
1. Parse,Parson (C),canada.json,64.573000,5816816,5878880,336060,0
1. Parse,Parson (C),citm_catalog.json,17.144000,2276704,2277024,185585,0
1. Parse,Parson (C),twitter.json,7.832000,1050976,1051456,72477,0
2. Stringify,Parson (C),canada.json,81.334000,1409040,1409040,2,0
2. Stringify,Parson (C),citm_catalog.json,17.405000,933904,933904,2,0
2. Stringify,Parson (C),twitter.json,12.164000,933904,933904,2,0
3. Prettify,Parson (C),canada.json,81.593000,1409040,1409040,2,0
3. Prettify,Parson (C),citm_catalog.json,17.450000,933904,933904,2,0
3. Prettify,Parson (C),twitter.json,12.162000,933904,933904,2,0
4. Statistics,Parson (C),canada.json,0.965000,0,0,0,0
4. Statistics,Parson (C),citm_catalog.json,0.845000,0,0,0,0
4. Statistics,Parson (C),twitter.json,0.997000,0,0,0,0
7. Code size,Parson (C),jsonstat,0,0,0,0,43280
1. Parse,PicoJSON (C++),canada.json,97.212000,5151952,5404112,435407,0
1. Parse,PicoJSON (C++),citm_catalog.json,31.023000,3003056,3003088,211748,0
1. Parse,PicoJSON (C++),twitter.json,12.021000,1584624,2069600,67548,0
2. Stringify,PicoJSON (C++),canada.json,71.546000,4194336,5922848,18,0
2. Stringify,PicoJSON (C++),citm_catalog.json,5.449000,933920,1327136,16,0
2. Stringify,PicoJSON (C++),twitter.json,3.167000,933920,1327136,16,0
4. Statistics,PicoJSON (C++),canada.json,0.589000,0,0,0,0
4. Statistics,PicoJSON (C++),citm_catalog.json,0.212000,0,0,0,0
4. Statistics,PicoJSON (C++),twitter.json,0.090000,0,0,0,0
7. Code size,PicoJSON (C++),jsonstat,0,0,0,0,34812
6. SaxStatistics,pjson (C),canada.json,3.831000,0,256,1,0
6. SaxStatistics,pjson (C),citm_catalog.json,2.597000,0,256,1,0
6. SaxStatistics,pjson (C),twitter.json,1.192000,0,1536,3,0
7. Code size,pjson (C),jsonstat,0,0,0,0,15124
1. Parse,POCO (C++),canada.json,149.630000,9670816,11932368,1033568,0
1. Parse,POCO (C++),citm_catalog.json,49.274000,5147472,6884672,317007,0
1. Parse,POCO (C++),twitter.json,19.643000,1685792,2628368,103458,0
2. Stringify,POCO (C++),canada.json,27.574000,2252832,6447136,27,0
2. Stringify,POCO (C++),citm_catalog.json,12.410000,933920,1867808,26212,0
2. Stringify,POCO (C++),twitter.json,10.114000,933920,1867808,19069,0
3. Prettify,POCO (C++),canada.json,127.455000,8273952,20856864,29,0
3. Prettify,POCO (C++),citm_catalog.json,35.281000,2252832,6447136,26214,0
3. Prettify,POCO (C++),twitter.json,15.230000,933920,2662432,19070,0
4. Statistics,POCO (C++),canada.json,1.858000,0,0,0,0
4. Statistics,POCO (C++),citm_catalog.json,0.663000,0,64,324,0
4. Statistics,POCO (C++),twitter.json,0.416000,0,464,1901,0
5. Sax Round-trip,POCO (C++),canada.json,93.503000,1409056,4919504,23,0
5. Sax Round-trip,POCO (C++),citm_catalog.json,26.711000,933920,3059920,2161,0
5. Sax Round-trip,POCO (C++),twitter.json,15.809000,466976,2265328,3826,0
6. SaxStatistics,POCO (C++),canada.json,44.089000,0,2261216,7,0
6. SaxStatistics,POCO (C++),citm_catalog.json,15.023000,0,1736992,2146,0
6. SaxStatistics,POCO (C++),twitter.json,6.888000,0,942768,3811,0
7. Code size,POCO (C++),jsonstat,0,0,0,0,27996
1. Parse,Qt (C++),canada.json,114.775000,48,48,2,0
1. Parse,Qt (C++),citm_catalog.json,7.052000,48,48,2,0
1. Parse,Qt (C++),twitter.json,3.130000,48,48,2,0
2. Stringify,Qt (C++),canada.json,125.382000,16,16,1,0
2. Stringify,Qt (C++),citm_catalog.json,17.609000,16,16,1,0
2. Stringify,Qt (C++),twitter.json,9.194000,16,16,1,0
3. Prettify,Qt (C++),canada.json,135.625000,16,16,1,0
3. Prettify,Qt (C++),citm_catalog.json,21.172000,16,16,1,0
3. Prettify,Qt (C++),twitter.json,9.963000,16,16,1,0
4. Statistics,Qt (C++),canada.json,3.271000,0,0,0,0
4. Statistics,Qt (C++),citm_catalog.json,2.965000,0,0,0,0
4. Statistics,Qt (C++),twitter.json,2.361000,0,0,0,0
7. Code size,Qt (C++),jsonstat,0,0,0,0,18188
1. Parse,RapidJSON_AutoUTF (C++),canada.json,7.037000,2954432,3347920,61,0
1. Parse,RapidJSON_AutoUTF (C++),citm_catalog.json,5.407000,1123008,1131472,29,0
1. Parse,RapidJSON_AutoUTF (C++),twitter.json,3.684000,792768,798992,25,0
2. Stringify,RapidJSON_AutoUTF (C++),canada.json,15.540000,2875472,2876000,28,0
2. Stringify,RapidJSON_AutoUTF (C++),citm_catalog.json,2.152000,569424,569952,24,0
2. Stringify,RapidJSON_AutoUTF (C++),twitter.json,1.966000,569424,569952,24,0
3. Prettify,RapidJSON_AutoUTF (C++),canada.json,35.263000,9699408,9699936,31,0
3. Prettify,RapidJSON_AutoUTF (C++),citm_catalog.json,6.251000,1917008,1917536,27,0
3. Prettify,RapidJSON_AutoUTF (C++),twitter.json,3.110000,852048,852576,25,0
4. Statistics,RapidJSON_AutoUTF (C++),canada.json,0.492000,0,0,0,0
4. Statistics,RapidJSON_AutoUTF (C++),citm_catalog.json,0.148000,0,0,0,0
4. Statistics,RapidJSON_AutoUTF (C++),twitter.json,0.057000,0,0,0,0
5. Sax Round-trip,RapidJSON_AutoUTF (C++),canada.json,21.118000,64,2876272,30,0
5. Sax Round-trip,RapidJSON_AutoUTF (C++),citm_catalog.json,7.053000,64,570224,26,0
5. Sax Round-trip,RapidJSON_AutoUTF (C++),twitter.json,5.338000,64,570544,28,0
6. SaxStatistics,RapidJSON_AutoUTF (C++),canada.json,5.904000,0,272,2,0
6. SaxStatistics,RapidJSON_AutoUTF (C++),citm_catalog.json,4.811000,0,272,2,0
6. SaxStatistics,RapidJSON_AutoUTF (C++),twitter.json,3.435000,0,592,4,0
7. Code size,RapidJSON_AutoUTF (C++),jsonstat,0,0,0,0,38508
1. Parse,RapidJSON_FullPrec (C++),canada.json,12.901000,2917568,3216848,61,0
1. Parse,RapidJSON_FullPrec (C++),citm_catalog.json,2.243000,1123008,1131472,29,0
1. Parse,RapidJSON_FullPrec (C++),twitter.json,1.310000,792768,798992,25,0
2. Stringify,RapidJSON_FullPrec (C++),canada.json,9.469000,2875472,2876000,28,0
2. Stringify,RapidJSON_FullPrec (C++),citm_catalog.json,1.161000,569424,569952,24,0
2. Stringify,RapidJSON_FullPrec (C++),twitter.json,0.766000,688208,688736,21,0
3. Prettify,RapidJSON_FullPrec (C++),canada.json,14.339000,9699408,9699936,31,0
3. Prettify,RapidJSON_FullPrec (C++),citm_catalog.json,1.863000,1917008,1917536,27,0
3. Prettify,RapidJSON_FullPrec (C++),twitter.json,1.015000,1093712,1094240,22,0
4. Statistics,RapidJSON_FullPrec (C++),canada.json,0.479000,0,0,0,0
4. Statistics,RapidJSON_FullPrec (C++),citm_catalog.json,0.152000,0,0,0,0
4. Statistics,RapidJSON_FullPrec (C++),twitter.json,0.060000,0,0,0,0
5. Sax Round-trip,RapidJSON_FullPrec (C++),canada.json,21.649000,2875472,2876272,30,0
5. Sax Round-trip,RapidJSON_FullPrec (C++),citm_catalog.json,3.029000,569424,570224,26,0
5. Sax Round-trip,RapidJSON_FullPrec (C++),twitter.json,1.867000,688208,689328,25,0
6. SaxStatistics,RapidJSON_FullPrec (C++),canada.json,11.796000,0,272,2,0
6. SaxStatistics,RapidJSON_FullPrec (C++),citm_catalog.json,1.991000,0,272,2,0
6. SaxStatistics,RapidJSON_FullPrec (C++),twitter.json,1.086000,0,592,4,0
7. Code size,RapidJSON_FullPrec (C++),jsonstat,0,0,0,0,31248
1. Parse,RapidJSON_Insitu (C++),canada.json,5.197000,5792960,6091968,60,0
1. Parse,RapidJSON_Insitu (C++),citm_catalog.json,1.922000,3932352,3940544,27,0
1. Parse,RapidJSON_Insitu (C++),twitter.json,0.995000,1097408,1103040,17,0
2. Stringify,RapidJSON_Insitu (C++),canada.json,9.307000,2875472,2876000,28,0
2. Stringify,RapidJSON_Insitu (C++),citm_catalog.json,1.120000,569424,569952,24,0
2. Stringify,RapidJSON_Insitu (C++),twitter.json,0.809000,688208,688736,21,0
3. Prettify,RapidJSON_Insitu (C++),canada.json,13.841000,9699408,9699936,31,0
3. Prettify,RapidJSON_Insitu (C++),citm_catalog.json,2.017000,1917008,1917536,27,0
3. Prettify,RapidJSON_Insitu (C++),twitter.json,1.157000,1093712,1094240,22,0
4. Statistics,RapidJSON_Insitu (C++),canada.json,0.480000,0,0,0,0
4. Statistics,RapidJSON_Insitu (C++),citm_catalog.json,0.155000,0,0,0,0
4. Statistics,RapidJSON_Insitu (C++),twitter.json,0.065000,0,0,0,0
5. Sax Round-trip,RapidJSON_Insitu (C++),canada.json,14.693000,2875472,5751440,30,0
5. Sax Round-trip,RapidJSON_Insitu (C++),citm_catalog.json,2.871000,569424,3445392,26,0
5. Sax Round-trip,RapidJSON_Insitu (C++),twitter.json,1.842000,688208,1323664,23,0
6. SaxStatistics,RapidJSON_Insitu (C++),canada.json,4.484000,0,2875440,2,0
6. SaxStatistics,RapidJSON_Insitu (C++),citm_catalog.json,1.692000,0,2875440,2,0
6. SaxStatistics,RapidJSON_Insitu (C++),twitter.json,0.930000,0,634928,2,0
7. Code size,RapidJSON_Insitu (C++),jsonstat,0,0,0,0,31248
1. Parse,RapidJSON (C++),canada.json,4.755000,2917568,3216848,61,0
1. Parse,RapidJSON (C++),citm_catalog.json,1.950000,1123008,1131472,29,0
1. Parse,RapidJSON (C++),twitter.json,1.227000,792768,798992,25,0
2. Stringify,RapidJSON (C++),canada.json,9.338000,2875472,2876000,28,0
2. Stringify,RapidJSON (C++),citm_catalog.json,1.125000,569424,569952,24,0
2. Stringify,RapidJSON (C++),twitter.json,0.746000,688208,688736,21,0
3. Prettify,RapidJSON (C++),canada.json,13.793000,9699408,9699936,31,0
3. Prettify,RapidJSON (C++),citm_catalog.json,1.877000,1917008,1917536,27,0
3. Prettify,RapidJSON (C++),twitter.json,1.020000,1093712,1094240,22,0
4. Statistics,RapidJSON (C++),canada.json,0.480000,0,0,0,0
4. Statistics,RapidJSON (C++),citm_catalog.json,0.161000,0,0,0,0
4. Statistics,RapidJSON (C++),twitter.json,0.063000,0,0,0,0
5. Sax Round-trip,RapidJSON (C++),canada.json,13.508000,2875472,2876272,30,0
5. Sax Round-trip,RapidJSON (C++),citm_catalog.json,2.699000,569424,570224,26,0
5. Sax Round-trip,RapidJSON (C++),twitter.json,1.936000,688208,689328,25,0
6. SaxStatistics,RapidJSON (C++),canada.json,3.675000,0,272,2,0
6. SaxStatistics,RapidJSON (C++),citm_catalog.json,1.588000,0,272,2,0
6. SaxStatistics,RapidJSON (C++),twitter.json,1.055000,0,592,4,0
7. Code size,RapidJSON (C++),jsonstat,0,0,0,0,31248
1. Parse,sajson (C++),canada.json,6.225000,20885616,20885616,4,0
1. Parse,sajson (C++),citm_catalog.json,1.981000,20885616,20885616,4,0
1. Parse,sajson (C++),twitter.json,0.901000,10551408,10551408,4,0
4. Statistics,sajson (C++),canada.json,0.690000,0,0,0,0
4. Statistics,sajson (C++),citm_catalog.json,0.213000,0,0,0,0
4. Statistics,sajson (C++),twitter.json,0.076000,0,0,0,0
7. Code size,sajson (C++),jsonstat,0,0,0,0,34880
1. Parse,Scheredom json.h (C),canada.json,9.418000,18010128,18010128,2,0
1. Parse,Scheredom json.h (C),citm_catalog.json,5.077000,3825680,3825680,2,0
1. Parse,Scheredom json.h (C),twitter.json,2.351000,2875408,2875408,2,0
2. Stringify,Scheredom json.h (C),canada.json,29.355000,2875408,2875408,2,0
2. Stringify,Scheredom json.h (C),citm_catalog.json,4.034000,851984,851984,2,0
2. Stringify,Scheredom json.h (C),twitter.json,0.978000,851984,851984,2,0
3. Prettify,Scheredom json.h (C),canada.json,33.213000,9699344,9699344,2,0
3. Prettify,Scheredom json.h (C),citm_catalog.json,4.930000,2875408,2875408,2,0
3. Prettify,Scheredom json.h (C),twitter.json,1.214000,851984,851984,2,0
4. Statistics,Scheredom json.h (C),canada.json,0.460000,0,0,0,0
4. Statistics,Scheredom json.h (C),citm_catalog.json,0.141000,0,0,0,0
4. Statistics,Scheredom json.h (C),twitter.json,0.065000,0,0,0,0
7. Code size,Scheredom json.h (C),jsonstat,0,0,0,0,24960
1. Parse,SimpleJSON (C++),canada.json,35.418000,5817456,15581872,393512,0
1. Parse,SimpleJSON (C++),citm_catalog.json,26.075000,4226096,13926848,213739,0
1. Parse,SimpleJSON (C++),twitter.json,17.892000,2636016,5512368,111912,0
2. Stringify,SimpleJSON (C++),canada.json,166.824000,3825680,27709456,393342,0
2. Stringify,SimpleJSON (C++),citm_catalog.json,26.295000,1048592,9187440,102242,0
2. Stringify,SimpleJSON (C++),twitter.json,12.511000,1376272,6720528,43987,0
4. Statistics,SimpleJSON (C++),canada.json,0.490000,0,0,0,0
4. Statistics,SimpleJSON (C++),citm_catalog.json,0.269000,0,0,0,0
4. Statistics,SimpleJSON (C++),twitter.json,0.141000,0,0,0,0
7. Code size,SimpleJSON (C++),jsonstat,0,0,0,0,58404
1. Parse,strdup (C),canada.json,0.111000,2875424,2875424,2,0
1. Parse,strdup (C),citm_catalog.json,0.074000,2875424,2875424,2,0
1. Parse,strdup (C),twitter.json,0.027000,852000,852000,2,0
2. Stringify,strdup (C),canada.json,0.103000,2875408,2875408,2,0
2. Stringify,strdup (C),citm_catalog.json,0.074000,2875408,2875408,2,0
2. Stringify,strdup (C),twitter.json,0.028000,851984,851984,2,0
7. Code size,strdup (C),jsonstat,0,0,0,0,15760
1. Parse,taocpp/json (C++11),canada.json,25.621000,6925328,9856016,114202,0
1. Parse,taocpp/json (C++11),citm_catalog.json,10.266000,3005936,5881328,32847,0
1. Parse,taocpp/json (C++11),twitter.json,5.343000,1574912,2426880,19975,0
2. Stringify,taocpp/json (C++11),canada.json,21.560000,2875424,6701088,19,0
2. Stringify,taocpp/json (C++11),citm_catalog.json,6.078000,852000,1703968,17,0
2. Stringify,taocpp/json (C++11),twitter.json,3.359000,852000,1703968,17,0
3. Prettify,taocpp/json (C++11),canada.json,49.216000,9699360,27709472,56064,0
3. Prettify,taocpp/json (C++11),citm_catalog.json,12.423000,2875424,6701120,18296,0
3. Prettify,taocpp/json (C++11),twitter.json,4.416000,852000,1703968,1130,0
4. Statistics,taocpp/json (C++11),canada.json,1.044000,0,0,0,0
4. Statistics,taocpp/json (C++11),citm_catalog.json,0.283000,0,0,0,0
4. Statistics,taocpp/json (C++11),twitter.json,0.114000,0,0,0,0
7. Code size,taocpp/json (C++11),jsonstat,0,0,0,0,105256
1. Parse,tunnuz/JSON++ (C++),canada.json,204.193000,19911648,45203152,833845,0
1. Parse,tunnuz/JSON++ (C++),citm_catalog.json,74.231000,6065024,16840512,356191,0
1. Parse,tunnuz/JSON++ (C++),twitter.json,38.321000,2674704,7032928,163534,0
2. Stringify,tunnuz/JSON++ (C++),canada.json,184.850000,2875424,105192848,391870,0
2. Stringify,tunnuz/JSON++ (C++),citm_catalog.json,42.460000,1376288,14245328,165982,0
2. Stringify,tunnuz/JSON++ (C++),twitter.json,20.707000,634912,6947056,77541,0
4. Statistics,tunnuz/JSON++ (C++),canada.json,92.893000,0,101932368,391851,0
4. Statistics,tunnuz/JSON++ (C++),citm_catalog.json,28.287000,0,11749536,165964,0
4. Statistics,tunnuz/JSON++ (C++),twitter.json,15.944000,0,5440992,77524,0
7. Code size,tunnuz/JSON++ (C++),jsonstat,0,0,0,0,73704
1. Parse,udp/json-parser (C),canada.json,29.536000,12047840,12047840,223233,0
1. Parse,udp/json-parser (C),citm_catalog.json,13.058000,3420464,3420464,51205,0
1. Parse,udp/json-parser (C),twitter.json,4.744000,1726752,1726752,20237,0
2. Stringify,udp/json-parser (C),canada.json,42.068000,1376272,1376272,2,0
2. Stringify,udp/json-parser (C),citm_catalog.json,1.348000,634896,634896,2,0
2. Stringify,udp/json-parser (C),twitter.json,1.096000,634896,634896,2,0
3. Prettify,udp/json-parser (C),canada.json,44.839000,7958544,7958544,2,0
3. Prettify,udp/json-parser (C),citm_catalog.json,1.602000,1929232,1929232,2,0
3. Prettify,udp/json-parser (C),twitter.json,1.195000,921616,921616,2,0
4. Statistics,udp/json-parser (C),canada.json,0.644000,0,0,0,0
4. Statistics,udp/json-parser (C),citm_catalog.json,0.174000,0,0,0,0
4. Statistics,udp/json-parser (C),twitter.json,0.077000,0,0,0,0
7. Code size,udp/json-parser (C),jsonstat,0,0,0,0,34868
1. Parse,ujson4c (C),canada.json,5.990000,12656672,21663776,11,0
1. Parse,ujson4c (C),citm_catalog.json,1.841000,4698144,12656672,10,0
1. Parse,ujson4c (C),twitter.json,1.114000,4698144,7225376,10,0
4. Statistics,ujson4c (C),canada.json,1.097000,0,0,0,0
4. Statistics,ujson4c (C),citm_catalog.json,0.488000,0,0,0,0
4. Statistics,ujson4c (C),twitter.json,0.165000,0,0,0,0
7. Code size,ujson4c (C),jsonstat,0,0,0,0,30888
1. Parse,ujson (C++),canada.json,25.187000,34371936,34372000,112763,0
1. Parse,ujson (C++),citm_catalog.json,8.205000,16233728,16234304,54373,0
1. Parse,ujson (C++),twitter.json,3.756000,2796288,2796704,12120,0
2. Stringify,ujson (C++),canada.json,18.822000,2097184,3473440,17,0
2. Stringify,ujson (C++),citm_catalog.json,4.027000,1376288,1900576,16,0
2. Stringify,ujson (C++),twitter.json,2.006000,921632,1445920,15,0
3. Prettify,ujson (C++),canada.json,22.543000,9007136,16965664,19,0
3. Prettify,ujson (C++),citm_catalog.json,4.478000,2097184,3473440,17,0
3. Prettify,ujson (C++),twitter.json,2.260000,921632,1445920,15,0
4. Statistics,ujson (C++),canada.json,1.968000,0,0,0,0
4. Statistics,ujson (C++),citm_catalog.json,0.750000,0,0,0,0
4. Statistics,ujson (C++),twitter.json,0.302000,0,0,0,0
7. Code size,ujson (C++),jsonstat,0,0,0,0,126996
1. Parse,V8 (C++),canada.json,22.279000,8059120,8067344,43,0
1. Parse,V8 (C++),citm_catalog.json,22.349000,5396952,5396984,477,0
1. Parse,V8 (C++),twitter.json,7.907000,2515104,2515136,1042,0
2. Stringify,V8 (C++),canada.json,26.085000,4397504,18446744073709549456,121,0
2. Stringify,V8 (C++),citm_catalog.json,5.615000,2433296,18446744073709520896,99,0
2. Stringify,V8 (C++),twitter.json,2.530000,1173736,18446744073709548032,21,0
3. Prettify,V8 (C++),canada.json,159.595000,109181304,118196632,1858,0
3. Prettify,V8 (C++),citm_catalog.json,21.680000,11433720,18446744073709540816,713,0
3. Prettify,V8 (C++),twitter.json,7.331000,6452264,18446744073709547264,628,0
4. Statistics,V8 (C++),canada.json,12.529000,0,2678816,352,0
4. Statistics,V8 (C++),citm_catalog.json,16.468000,18446744073709511744,1361104,65831,0
4. Statistics,V8 (C++),twitter.json,4.636000,18446744073709522752,528336,7658,0
7. Code size,V8 (C++),jsonstat,0,0,0,0,13336932
1. Parse,Vinenthz/libjson (C),canada.json,77.479000,4916160,4945104,334389,0
1. Parse,Vinenthz/libjson (C),citm_catalog.json,20.334000,2372400,2401344,153901,0
1. Parse,Vinenthz/libjson (C),twitter.json,9.359000,1305728,1334672,72620,0
2. Stringify,Vinenthz/libjson (C),canada.json,61.512000,4194336,4194336,13,0
2. Stringify,Vinenthz/libjson (C),citm_catalog.json,4.067000,524320,524320,10,0
2. Stringify,Vinenthz/libjson (C),twitter.json,3.188000,524320,524320,10,0
3. Prettify,Vinenthz/libjson (C),canada.json,61.960000,4194336,4194336,13,0
3. Prettify,Vinenthz/libjson (C),citm_catalog.json,4.132000,524320,524320,10,0
3. Prettify,Vinenthz/libjson (C),twitter.json,3.187000,524320,524320,10,0
4. Statistics,Vinenthz/libjson (C),canada.json,0.516000,0,0,0,0
4. Statistics,Vinenthz/libjson (C),citm_catalog.json,0.192000,0,0,0,0
4. Statistics,Vinenthz/libjson (C),twitter.json,0.095000,0,0,0,0
5. Sax Round-trip,Vinenthz/libjson (C),canada.json,14.748000,4194336,4198688,15,0
5. Sax Round-trip,Vinenthz/libjson (C),citm_catalog.json,10.265000,524320,528672,12,0
5. Sax Round-trip,Vinenthz/libjson (C),twitter.json,5.765000,524320,528672,12,0
6. SaxStatistics,Vinenthz/libjson (C),canada.json,11.467000,0,4352,2,0
6. SaxStatistics,Vinenthz/libjson (C),citm_catalog.json,7.950000,0,4352,2,0
6. SaxStatistics,Vinenthz/libjson (C),twitter.json,3.061000,0,4352,2,0
7. Code size,Vinenthz/libjson (C),jsonstat,0,0,0,0,26036
1. Parse,YAJL (C),canada.json,75.623000,12893040,12895472,501567,0
1. Parse,YAJL (C),citm_catalog.json,19.546000,3031456,3035936,189685,0
1. Parse,YAJL (C),twitter.json,8.280000,1459072,1463552,77047,0
2. Stringify,YAJL (C),canada.json,72.834000,4198976,4198976,15,0
2. Stringify,YAJL (C),citm_catalog.json,3.751000,528960,528960,12,0
2. Stringify,YAJL (C),twitter.json,2.051000,528960,528960,12,0
3. Prettify,YAJL (C),canada.json,91.121000,16781888,16781888,17,0
3. Prettify,YAJL (C),citm_catalog.json,8.037000,2101824,2101824,14,0
3. Prettify,YAJL (C),twitter.json,2.965000,1053248,1053248,13,0
4. Statistics,YAJL (C),canada.json,0.701000,0,0,0,0
4. Statistics,YAJL (C),citm_catalog.json,0.248000,0,0,0,0
4. Statistics,YAJL (C),twitter.json,0.118000,0,0,0,0
5. Sax Round-trip,YAJL (C),canada.json,112.826000,4198976,4203456,22,0
5. Sax Round-trip,YAJL (C),citm_catalog.json,8.118000,528960,533440,19,0
5. Sax Round-trip,YAJL (C),twitter.json,3.578000,528960,533440,19,0
6. SaxStatistics,YAJL (C),canada.json,40.900000,0,4480,7,0
6. SaxStatistics,YAJL (C),citm_catalog.json,4.741000,0,4480,7,0
6. SaxStatistics,YAJL (C),twitter.json,1.706000,0,4480,7,0
7. Code size,YAJL (C),jsonstat,0,0,0,0,44660
</textarea>
</div>
<div class="row" id="downloadDD" style="display: none">
<div class="btn-group pull-right" >
    <button class="btn dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-picture"></span></button>
    <ul class="dropdown-menu">
        <li><a tabindex="-1" href="#" dltype="image/jpeg">JPEG</a></li>
        <li><a tabindex="-1" href="#" dltype="image/png">PNG</a></li>
        <li><a tabindex="-1" href="#" dltype="application/pdf">PDF</a></li>
        <li><a tabindex="-1" href="#" dltype="image/svg+xml">SVG</a></li>
    </ul>
</div>
</div>
<form method="post" action="http://export.highcharts.com/" id="imageGetForm">
    <input type="hidden" name="filename" id="imageFilename" value="" />
    <input type="hidden" name="type" id="imageGetFormTYPE" value="" />
    <input type="hidden" name="width" value="1600" />
    <input type="hidden" name="svg" value="" id="imageGetFormSVG" />
</form>
</div>
</body>
</html>